-- ******************************************************************
-- CISCO-TELEPRESENCE-MIB.my: Cisco MIB to manage a
-- Telepresence System
--
-- Copyright (c) 2007-2008 by Cisco Systems Inc.
-- All rights reserved.
--
-- ******************************************************************

CISCO-TELEPRESENCE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    TruthValue,
    TimeStamp
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InetAddress,
    InetAddressType
        FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero
        FROM IF-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoTelepresenceMIB MODULE-IDENTITY
    LAST-UPDATED    "200802130000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cochan@cisco.com"
    DESCRIPTION
        "The MIB module defines the managed objects for a
        Telepresence system.

        Telepresence refers to a set of technologies which 
        allow a person to feel as if they were present, to give 
        the appearance that they were present, or to have an 
        effect, at a location other than their true location.

        A complete Telepresence system includes one or more 
        Telepresence CODECS and peripherals such as display, camera,
        speaker, microphone and presentation device.

        Peripherals are attached directly to a Telepresence CODEC via
        an interface. Some peripherals may have more than one
        interface to transmit audio and/or video data and provide a 
        configuration and/or control access."
    REVISION        "200802130000Z"
    DESCRIPTION
        "Added serial peripheral status and peripheral attribute table."
    REVISION        "200712110000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 643 }



-- Textual Conventions

CtpSystemResetMode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention identifies the system reset mode.
        noRestart      (1) -- 
            No operation.
        restartPending (2) -- 
            Restart a system without shutting down when there
            is no active call; otherwise, system will be
            restarted after the call is terminated.
        resetPending   (3) -- 
            Shut down a system and bring it back up if there
            is no active call; otherwise, system will be reset
            after the call is terminated.
        forceReset     (4) -- 
            Shut down a system and bring it back up no matter
            if there is an active call or not."
    SYNTAX          INTEGER  {
                        noRestart(1), -- the following three values are
                                      -- states: these values may be
                                      -- read or written
                        restartPending(2),
                        resetPending(3),
                        forceReset(4) -- the following value is action:
                                      -- it may be written but not read
                    }

CtpPeripheralCableCode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies cable status of the attached
        peripheral through HDMI.
           plugged       (1) -- Peripheral cable is plugged.
           loose         (2) -- Peripheral cable is loose.
           unplugged     (3) -- Peripheral cable is unplugged.
           unknown       (4) -- Cannot detect peripheral cable status.
           internalError (5) -- Internal error."
    SYNTAX          INTEGER  {
                        plugged(1),
                        loose(2),
                        unplugged(3),
                        unknown(4),
                        internalError(5)
                    }

CtpPeripheralPowerCode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies power status of the attached
        peripheral through HDMI.
           on            (1) -- Peripheral power is on.
           standby       (2) -- Peripheral power is in standby mode.
           off           (3) -- Peripheral power is off.
           unknown       (4) -- Cannot detect peripheral power status.
           internalError (5) -- Internal error."
    SYNTAX          INTEGER  {
                        on(1),
                        standby(2),
                        off(3),
                        unknown(4),
                        internalError(5)
                    }

CtpPeripheralStatusCode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies the peripheral status.
        noError            (0) -- 
            Expected peripheral device is functioning through
            the attached port.
        other              (1) -- 
            None of the listed state.
        cableError         (2) -- 
            Expected peripheral device has cabling issue.
        powerError         (3) -- 
            Expected peripheral device has power issue.
        mgmtSysConfigError (4) -- 
            Expected peripheral device has communications 
            management system configuration issue.
        systemError        (5) -- 
            Telepresence system error.
        deviceError        (6) -- 
            Expected peripheral device is attached but not
            fully functional.
        linkError          (7) -- 
            Expected peripheral device has port level link issue."
    SYNTAX          INTEGER  {
                        noError(0),
                        other(1),
                        cableError(2),
                        powerError(3),
                        mgmtSysConfigError(4),
                        systemError(5),
                        deviceError(6),
                        linkError(7)
                    }

CtpSystemAccessProtocol ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The textual convention identifies supported Telepresence user
        access protocol.
           http (1) -- Hypertext Transfer Protocol (HTTP)
           snmp (2) -- Simple Network Management Protocol (SNMP)
           ssh  (3) -- Secure Shell (SSH)"
    SYNTAX          INTEGER  {
                        http(1),
                        snmp(2),
                        ssh(3)
                    }
ciscoTelepresenceMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIB 0 }

ciscoTelepresenceMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIB 1 }

ciscoTelepresenceMIBConform  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIB 2 }

ctpObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIBObjects 1 }

ctpPeripheralStatusObjects  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIBObjects 2 }

ctpEventHistory  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIBObjects 3 }


-- Telepresence Management Configuration Group

ctpPeripheralErrorNotifyEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object controls generation of
        ctpPeripheralErrorNotification.

        When the object is 'true(1)', generation of 
        ctpPeripheralErrorNotification is enabled. 
        When the object is 'false(2)', generation of 
        ctpPeripheralErrorNotification is disabled."
    DEFVAL          { false } 
    ::= { ctpObjects 1 }

ctpSysUserAuthFailNotifyEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object controls generation of
        ctpSysUserAuthFailNotification.

        When the object is 'true(1)', generation of 
        ctpSysUserAuthFailNotification is enabled. 
        When the object is 'false(2)', generation of 
        ctpSysUserAuthFailNotification is disabled."
    DEFVAL          { false } 
    ::= { ctpObjects 2 }

ctpSystemReset OBJECT-TYPE
    SYNTAX          CtpSystemResetMode
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object is used to reset or restart a Telepresence system."
    DEFVAL          { noRestart } 
    ::= { ctpObjects 3 }
    
--    
-- Telepresence Peripheral Status Group
--   

--   
-- Peripheral Status Table
--
ctpPeripheralStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpPeripheralStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains system peripheral information.

        An entry in this table has a corresponding entry,
        INDEX-ed by the same value of ctpPeripheralIndex,
        in the table relevant to the type of interface:
            ctpEtherPeripheralStatusTable for Ethernet,
            ctpHDMIPeripheralStatusTable for HDMI or
            ctpDVIPeripheralStatusTable for DVI."
    ::= { ctpPeripheralStatusObjects 1 }

ctpPeripheralStatusEntry OBJECT-TYPE
    SYNTAX          CtpPeripheralStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one peripheral which is
        configured or detected by a Telepresence system."
    INDEX           { ctpPeripheralIndex } 
    ::= { ctpPeripheralStatusTable 1 }

CtpPeripheralStatusEntry ::= SEQUENCE {
        ctpPeripheralIndex       Unsigned32,
        ctpPeripheralDescription SnmpAdminString,
        ctpPeripheralStatus      CtpPeripheralStatusCode
}

ctpPeripheralIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique index for a peripheral
        which is attached to a Telepresence system." 
    ::= { ctpPeripheralStatusEntry 1 }

ctpPeripheralDescription OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..255))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies a description of the attached peripheral.

        Peripheral description may be the peripheral type, model and/or 
        version information or a peripheral signal description." 
    ::= { ctpPeripheralStatusEntry 2 }

ctpPeripheralStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralStatusCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies a peripheral status." 
    ::= { ctpPeripheralStatusEntry 3 }
 

-- Peripheral Status Table connected via Ethernet

ctpEtherPeripheralStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpEtherPeripheralStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains information about all peripherals
        connected to the system via Ethernet port."
    ::= { ctpPeripheralStatusObjects 2 }

ctpEtherPeripheralStatusEntry OBJECT-TYPE
    SYNTAX          CtpEtherPeripheralStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one peripheral
        attached to the Telepresence system via Ethernet."
    INDEX           {
                        ctpPeripheralIndex,
                        ctpEtherPeripheralIndex
                    } 
    ::= { ctpEtherPeripheralStatusTable 1 }

CtpEtherPeripheralStatusEntry ::= SEQUENCE {
        ctpEtherPeripheralIndex    Unsigned32,
        ctpEtherPeripheralIfIndex  InterfaceIndexOrZero,
        ctpEtherPeripheralAddrType InetAddressType,
        ctpEtherPeripheralAddr     InetAddress,
        ctpEtherPeripheralStatus   CtpPeripheralStatusCode
}

ctpEtherPeripheralIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique number for a peripheral
        Ethernet interface.

        If no peripheral has more than one Ethernet interface, this 
        object will have value '1'." 
    ::= { ctpEtherPeripheralStatusEntry 1 }

ctpEtherPeripheralIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies an index value that uniquely identifies
        the interface to which this entry is applicable.  The
        interface identified by a particular value of this index is
        the same interface as identified by the same value of the
        IF-MIB's ifIndex.

        If this entry doesn't have corresponding ifIndex, then this
        value will have value '0'." 
    ::= { ctpEtherPeripheralStatusEntry 2 }

ctpEtherPeripheralAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the type of address contained
        in the corresponding instance of ctpEtherPeripheralAddr." 
    ::= { ctpEtherPeripheralStatusEntry 3 }

ctpEtherPeripheralAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the address of the attached peripheral
        in the format given by the corresponding instance of
        ctpEtherPeripheralAddrType." 
    ::= { ctpEtherPeripheralStatusEntry 4 }

ctpEtherPeripheralStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralStatusCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies attached peripheral status retrieved via
        Ethernet port." 
    ::= { ctpEtherPeripheralStatusEntry 5 }
 

-- Peripheral Status Table connected via HDMI

ctpHDMIPeripheralStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpHDMIPeripheralStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains information about all peripherals
        connected to the system via HDMI."
    ::= { ctpPeripheralStatusObjects 3 }

ctpHDMIPeripheralStatusEntry OBJECT-TYPE
    SYNTAX          CtpHDMIPeripheralStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one Telepresence
        HDMI peripheral."
    INDEX           {
                        ctpPeripheralIndex,
                        ctpHDMIPeripheralIndex
                    } 
    ::= { ctpHDMIPeripheralStatusTable 1 }

CtpHDMIPeripheralStatusEntry ::= SEQUENCE {
        ctpHDMIPeripheralIndex       Unsigned32,
        ctpHDMIPeripheralCableStatus CtpPeripheralCableCode,
        ctpHDMIPeripheralPowerStatus CtpPeripheralPowerCode
}

ctpHDMIPeripheralIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique number for a peripheral HDMI.

        If no peripheral has more than one HDMI, this 
        object will have value '1'." 
    ::= { ctpHDMIPeripheralStatusEntry 1 }

ctpHDMIPeripheralCableStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralCableCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies cable status of an attached peripheral.

        This object is set to 'loose' if system detects cable is
        'unplugged' but power is 'on'." 
    ::= { ctpHDMIPeripheralStatusEntry 2 }

ctpHDMIPeripheralPowerStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralPowerCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies power status of an attached peripheral.

        This object is set to 'unknown' if system detects cable is
        'unplugged'." 
    ::= { ctpHDMIPeripheralStatusEntry 3 }
 

-- Peripheral Status Table connected via DVI

ctpDVIPeripheralStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpDVIPeripheralStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains information about all peripherals
        connected to the system via DVI."
    ::= { ctpPeripheralStatusObjects 4 }

ctpDVIPeripheralStatusEntry OBJECT-TYPE
    SYNTAX          CtpDVIPeripheralStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one peripheral
        attached to the Telepresence system via DVI."
    INDEX           {
                        ctpPeripheralIndex,
                        ctpDVIPeripheralIndex
                    } 
    ::= { ctpDVIPeripheralStatusTable 1 }

CtpDVIPeripheralStatusEntry ::= SEQUENCE {
        ctpDVIPeripheralIndex       Unsigned32,
        ctpDVIPeripheralCableStatus CtpPeripheralCableCode
}

ctpDVIPeripheralIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique number for a peripheral DVI.

        If no peripheral has more than one DVI, this 
        object will have value '1'.

        Note that some Telepresence systems have no DVI port and some
        Telepresence systems have only one DVI port." 
    ::= { ctpDVIPeripheralStatusEntry 1 }

ctpDVIPeripheralCableStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralCableCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies attached device
        cable status reported by DVI." 
    ::= { ctpDVIPeripheralStatusEntry 2 }

-- Peripheral Status Table connected via RS-232

ctpRS232PeripheralStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpRS232PeripheralStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains information about all peripherals
        connected to the system via RS-232."
    ::= { ctpPeripheralStatusObjects 5 }

ctpRS232PeripheralStatusEntry OBJECT-TYPE
    SYNTAX          CtpRS232PeripheralStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one peripheral
        attached to the Telepresence system via RS-232."
    INDEX           {
                        ctpPeripheralIndex,
                        ctpRS232PeripheralIndex
                    } 
    ::= { ctpRS232PeripheralStatusTable 1 }

CtpRS232PeripheralStatusEntry ::= SEQUENCE {
        ctpRS232PeripheralIndex        Unsigned32,
        ctpRS232PortIndex              InterfaceIndexOrZero,
        ctpRS232PeripheralConnStatus   INTEGER
}

ctpRS232PeripheralIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique number for a peripheral RS-232.

        If no peripheral has more than one RS-232, this 
        object will have value '1'.

        Note that some Telepresence systems have no RS-232 port." 
    ::= { ctpRS232PeripheralStatusEntry 1 }

ctpRS232PortIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies an index value that uniquely identifies
        the RS-232 port to which this entry is applicable.
        Its value is the same as RS-232-MIB's rs232PortIndex for
        the port.

        If RS-232-MIB is not supported by the agent, then this
        value will have value '0'." 
    ::= { ctpRS232PeripheralStatusEntry 2 }

ctpRS232PeripheralConnStatus OBJECT-TYPE
    SYNTAX          INTEGER {
                        connected(1),
                        unknown(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies peripheral which is 
        connected via RS232.
        
        When the object is 'connected(1)', peripheral connection
        via RS232 is working properly. 
        When the object is 'unknown(2)', peripheral connection
        via RS232 is not working properly. It may due to device problem
        or connection problem."
    ::= { ctpRS232PeripheralStatusEntry 3 }

--
-- Peripheral Attribute table
--

ctpPeripheralAttributeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpPeripheralAttributeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table contains information about attributes for the
        peripherals which are connected to the system. Peripheral
        attribute may specify peripheral's component information,
        for example, an entry may specify lifetime of a lamp
        on a presentation device."
    ::= { ctpPeripheralStatusObjects 6 }

ctpPeripheralAttributeEntry OBJECT-TYPE
    SYNTAX          CtpPeripheralAttributeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about one peripheral
        attribute related to the peripheral specified by
        ctpPeripheralIndex."
    INDEX           {
                        ctpPeripheralIndex,
                        ctpPeripheralAttributeIndex
                    } 
    ::= { ctpPeripheralAttributeTable 1 }

CtpPeripheralAttributeEntry ::= SEQUENCE {
    ctpPeripheralAttributeIndex    Unsigned32,
    ctpPeripheralAttributeDescr    INTEGER,
    ctpPeripheralAttributeValue    Unsigned32
}

ctpPeripheralAttributeIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies a unique number for a peripheral 
        attribute.

        If no peripheral has more than one attribute, this 
        object will have value '1'."
    ::= { ctpPeripheralAttributeEntry 1 }

ctpPeripheralAttributeDescr OBJECT-TYPE
    SYNTAX          INTEGER {
                        lampOperTime(1),
                        lampState(2),
                        powerSwitchState(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies description of a attribute.
        The supported attributes are
            lampOperTime(1)      -- indicate the lamp operating time
                                    of a peripheral
            lampState(2)         -- indicate the lamp state
            powerSwitchState(3)  -- indicate the power on/off state
                                    of a peripheral
        Note that not all peripheral contains all the supported
        attributes. Agent reports whatever is available."
    ::= { ctpPeripheralAttributeEntry 2 }

ctpPeripheralAttributeValue OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies value of the attribute corresponding
        to ctpPeripheralAttributeDescr.
        The possible value of the supported attributes is listed as
        the following:
        Attribute          Unit       SYNTAX
        -----------------------------------------------------------
        lampOperTime       hours      Unsigned32(0..4294967295)
        lampState                     INTEGER {
                                          on(1),
                                          off(2),
                                          failure(3),
                                          unknown(4)
                                      }
        powerSwitchState              INTEGER {
                                          on(1),
                                          off(2),
                                          unknown(3)
                                      }"
    ::= { ctpPeripheralAttributeEntry 3 }

--
-- Event History Group
--   

-- Telepresence Peripheral Error History Table

ctpPeripheralErrorHistTableSize OBJECT-TYPE
    SYNTAX          Unsigned32 (0..500)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum number of entries that the
        ctpPeripheralErrorHistTable can contain.  When the 
        capacity of the ctpPeripheralErrorHistTable has reached
        the value specified by this object, then the agent 
        deletes the oldest entity in order to accommodate
        the new entry. A value of '0' prevents any history
        from being retained.

        Some agents restrict the value of this object to be less than
        500."
    DEFVAL          { 10 } 
    ::= { ctpEventHistory 1 }

ctpPeripheralErrorHistLastIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the
        ctpPeripheralErrorHistIndex object corresponding to the
        last entry added to the table by the agent.

        If the management application uses the notifications defined 
        by this module, then it can poll this object to determine
        whether it has missed a notification sent by the agent." 
    ::= { ctpEventHistory 2 }

ctpPeripheralErrorHistoryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpPeripheralErrorHistoryEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains a history of the detected peripheral
        errors.

        After a management agent restart, when sysUpTime is reset to
        zero, this table records all notifications until such time as 
        it becomes full. Thereafter, it remains full by retaining the 
        number of most recent notifications specified in 
        ctpPeripheralErrorHistTableSize."
    ::= { ctpEventHistory 3 }

ctpPeripheralErrorHistoryEntry OBJECT-TYPE
    SYNTAX          CtpPeripheralErrorHistoryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about a Telepresence
        peripheral error."
    INDEX           { ctpPeripheralErrorHistoryIndex } 
    ::= { ctpPeripheralErrorHistoryTable 1 }

CtpPeripheralErrorHistoryEntry ::= SEQUENCE {
        ctpPeripheralErrorHistoryIndex Unsigned32,
        ctpPeripheralErrorIndex        Unsigned32,
        ctpPeripheralErrorStatus       CtpPeripheralStatusCode,
        ctpPeripheralErrorTimeStamp    TimeStamp
}

ctpPeripheralErrorHistoryIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A unique non-zero integer value that identifies a
        CtpPeripheralErrorHistoryEntry in the table.

        The value of this index starts from '1' and monotonically
        increases for each peripheral error known to the agent.
        If the value of this object is '4294967295',
        the agent will use '1' as the value of the 
        next detected peripheral error." 
    ::= { ctpPeripheralErrorHistoryEntry 1 }

ctpPeripheralErrorIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies the value of ctpPeripheralIndex of a
        peripheral which is in error state." 
    ::= { ctpPeripheralErrorHistoryEntry 2 }

ctpPeripheralErrorStatus OBJECT-TYPE
    SYNTAX          CtpPeripheralStatusCode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the peripheral status when error
        occurred." 
    ::= { ctpPeripheralErrorHistoryEntry 3 }

ctpPeripheralErrorTimeStamp OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the sysUpTime object at the
        time the notification was generated." 
    ::= { ctpPeripheralErrorHistoryEntry 4 }
 


-- User Authentication Failure History Table

ctpSysUserAuthFailHistTableSize OBJECT-TYPE
    SYNTAX          Unsigned32 (0..500)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the number of entries that the
        ctpSysUserAuthFailHistTable can contain.  When the 
        capacity of the ctpSysUserAuthFailHistTable has reached
        the value specified by this object, then the agent 
        deletes the oldest entity in order to accommodate
        the new entry. A value of '0' prevents any history
        from being retained.

        Some agents restrict the value of this object to be less than
        500."
    DEFVAL          { 10 } 
    ::= { ctpEventHistory 4 }

ctpSysUserAuthFailHistLastIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the
        ctpSysUserAuthFailHistIndex object corresponding to the
        last entry added to the table by the agent.

        If the management application uses the notifications defined 
        by this module, then it can poll this object to determine
        whether it has missed a notification sent by the agent." 
    ::= { ctpEventHistory 5 }

ctpSysUserAuthFailHistoryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CtpSysUserAuthFailHistoryEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains a history of detected user
        authentication failures.

        After a management agent restart, when sysUpTime is reset
        to zero, this table records all user authentication failure
        notifications until such time as it becomes full. Thereafter,
        it remains full by retaining the number of most recent
        notifications specified in ctpSysUserAuthFailHistTableSize."
    ::= { ctpEventHistory 6 }

ctpSysUserAuthFailHistoryEntry OBJECT-TYPE
    SYNTAX          CtpSysUserAuthFailHistoryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry contains information about a Telepresence
        system user authentication failure."
    INDEX           { ctpSysUserAuthFailHistoryIndex } 
    ::= { ctpSysUserAuthFailHistoryTable 1 }

CtpSysUserAuthFailHistoryEntry ::= SEQUENCE {
        ctpSysUserAuthFailHistoryIndex   Unsigned32,
        ctpSysUserAuthFailSourceAddrType InetAddressType,
        ctpSysUserAuthFailSourceAddr     InetAddress,
        ctpSysUserAuthFailSourcePort     Unsigned32,
        ctpSysUserAuthFailUserName       SnmpAdminString,
        ctpSysUserAuthFailAccessProtocol CtpSystemAccessProtocol,
        ctpSysUserAuthFailTimeStamp      TimeStamp
}

ctpSysUserAuthFailHistoryIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A unique non-zero integer value that identifies a
        CtpSysUserAuthFailHistoryEntry in the table.

        The value of this index starts from '1' and monotonically
        increases for each system authentication failure event
        known to the agent. If the value of this object is
        '4294967295', the agent will use '1' as the value of
        the next user authentication failure event." 
    ::= { ctpSysUserAuthFailHistoryEntry 1 }

ctpSysUserAuthFailSourceAddrType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies the type of address contained
        in the corresponding instance of ctpSysUserAuthFailSourceAddr." 
    ::= { ctpSysUserAuthFailHistoryEntry 2 }

ctpSysUserAuthFailSourceAddr OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies the source address when the
        user authentication failure occurred, in the format given by
        the corresponding instance of ctpSysUserAuthFailSourceAddrType." 
    ::= { ctpSysUserAuthFailHistoryEntry 3 }

ctpSysUserAuthFailSourcePort OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies the source TCP/UDP port number
        when a user authentication failure occurred." 
    ::= { ctpSysUserAuthFailHistoryEntry 4 }

ctpSysUserAuthFailUserName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..32))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object specifies the user name which was used to gain
        system access when authentication failure occurred." 
    ::= { ctpSysUserAuthFailHistoryEntry 5 }

ctpSysUserAuthFailAccessProtocol OBJECT-TYPE
    SYNTAX          CtpSystemAccessProtocol
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the access protocol when a user
        authentication failure occurred." 
    ::= { ctpSysUserAuthFailHistoryEntry 6 }

ctpSysUserAuthFailTimeStamp OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the sysUpTime object at the
        time the notification was generated." 
    ::= { ctpSysUserAuthFailHistoryEntry 7 }
 
-- Telepresence System Notifications

ctpPeripheralErrorNotification NOTIFICATION-TYPE
    OBJECTS         {
                        ctpPeripheralErrorIndex,
                        ctpPeripheralErrorStatus
                    }
    STATUS          current
    DESCRIPTION
        "This notification is sent when a peripheral error is detected."
   ::= { ciscoTelepresenceMIBNotifs 1 }

ctpSysUserAuthFailNotification NOTIFICATION-TYPE
    OBJECTS         {
                        ctpSysUserAuthFailSourceAddrType,
                        ctpSysUserAuthFailSourceAddr,
                        ctpSysUserAuthFailSourcePort,
                        ctpSysUserAuthFailUserName,
                        ctpSysUserAuthFailAccessProtocol
                    }
    STATUS          current
    DESCRIPTION
        "This notification is sent when a user authentication failure
        via a Telepresence supported access protocol is 
        detected."
   ::= { ciscoTelepresenceMIBNotifs 2 }
   
-- Conformance

ciscoTelepresenceCompliances  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIBConform 1 }

ciscoTelepresenceMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoTelepresenceMIBConform 2 }


ciscoTelepresenceCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco Telepresence MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoTpConfigurationGroup,
                        ciscoTpPeripheralStatusGroup,
                        ciscoTpEventHistoryGroup,
                        ciscoTpNotificationGroup
                     }

    OBJECT          ctpPeripheralErrorNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSysUserAuthFailNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSystemReset
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpPeripheralErrorHistTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSysUserAuthFailHistTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoTelepresenceCompliances 1 }
    
ciscoTelepresenceComplianceR01 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco Telepresence MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoTpConfigurationGroup,
                        ciscoTpPeripheralStatusGroup,
                        ciscoTpEventHistoryGroup,
                        ciscoTpNotificationGroup
                     }

    GROUP           ciscoTpRS232PeripheralStatusGroup
    DESCRIPTION
        "This group is mandatory for a Telepresence system which
        has RS323 interface."

    GROUP           ciscoTpPeripheralAttributeGroup
    DESCRIPTION
        "This group is optional."

    OBJECT          ctpPeripheralErrorNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSysUserAuthFailNotifyEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSystemReset
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpPeripheralErrorHistTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ctpSysUserAuthFailHistTableSize
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoTelepresenceCompliances 2 }    

-- Units of Conformance

ciscoTpConfigurationGroup OBJECT-GROUP
    OBJECTS         {
                        ctpPeripheralErrorNotifyEnable,
                        ctpSysUserAuthFailNotifyEnable,
                        ctpSystemReset
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the notification
        configuration and system reset."
    ::= { ciscoTelepresenceMIBGroups 1 }

ciscoTpPeripheralStatusGroup OBJECT-GROUP
    OBJECTS         {
                        ctpPeripheralDescription,
                        ctpPeripheralStatus,
                        ctpEtherPeripheralIfIndex,
                        ctpEtherPeripheralAddrType,
                        ctpEtherPeripheralAddr,
                        ctpEtherPeripheralStatus,
                        ctpHDMIPeripheralCableStatus,
                        ctpHDMIPeripheralPowerStatus,
                        ctpDVIPeripheralCableStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the Telepresence peripheral
        information."
    ::= { ciscoTelepresenceMIBGroups 2 }

ciscoTpEventHistoryGroup OBJECT-GROUP
    OBJECTS         {
                        ctpPeripheralErrorHistTableSize,
                        ctpPeripheralErrorHistLastIndex,
                        ctpPeripheralErrorIndex,
                        ctpPeripheralErrorStatus,
                        ctpPeripheralErrorTimeStamp,
                        ctpSysUserAuthFailHistTableSize,
                        ctpSysUserAuthFailHistLastIndex,
                        ctpSysUserAuthFailSourceAddrType,
                        ctpSysUserAuthFailSourceAddr,
                        ctpSysUserAuthFailSourcePort,
                        ctpSysUserAuthFailUserName,
                        ctpSysUserAuthFailAccessProtocol,
                        ctpSysUserAuthFailTimeStamp
                    }
    STATUS          current
    DESCRIPTION
        "A collection of managed objects providing notification event
        history information."
    ::= { ciscoTelepresenceMIBGroups 3 }

ciscoTpNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        ctpPeripheralErrorNotification,
                        ctpSysUserAuthFailNotification
                    }
    STATUS          current
    DESCRIPTION
        "A collection of Telepresence system notifications."
    ::= { ciscoTelepresenceMIBGroups 4 }

ciscoTpRS232PeripheralStatusGroup OBJECT-GROUP
    OBJECTS         {
                        ctpRS232PortIndex,
                        ctpRS232PeripheralConnStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the information 
        about Telepresence peripheral which is connected via RS232."
    ::= { ciscoTelepresenceMIBGroups 5 }    
    
ciscoTpPeripheralAttributeGroup  OBJECT-GROUP
    OBJECTS         {
                        ctpPeripheralAttributeDescr,
                        ctpPeripheralAttributeValue
                    }
    STATUS          current
    DESCRIPTION
        "A collection of managed objects providing peripheral
        attribute information."
    ::= { ciscoTelepresenceMIBGroups 6 }
END